package loja.dominio;

import java.util.*;

public class Venda {

    private Long id;
    private FormaDePagamento formaDePagamento;
    private List<ItemDeVenda> itens;
    private Date data;
    private Cliente cliente;

    public Venda() {
        itens = new ArrayList<ItemDeVenda>();
    }

    public List<ItemDeVenda> getItens() {
        return itens;
    }

    public void setItens(List<ItemDeVenda> itens) {
        this.itens = itens;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    /**
     *
     * @return
     */
    public Double getTotal() {
        throw new UnsupportedOperationException();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public FormaDePagamento getFormaDePagamento() {
        return formaDePagamento;
    }

    public void setFormaDePagamento(FormaDePagamento formaDePagamento) {
        this.formaDePagamento = formaDePagamento;
    }

    /**
     *
     * @return
     */
    public void abrirVenda() {
        itens = new ArrayList<ItemDeVenda>();
    }

    /**
     *
     * @return
     */
    public void inserirItem(ItemDeVenda item) {
        itens.add(item);
    }
    
    /**
     *
     * @return
     */
    public void excluirItem(ItemDeVenda item) {
        itens.remove(item);
    }

    /**
     *
     * @return
     */
    public void fecharVenda() {
        throw new UnsupportedOperationException();
    }

    public Double total() {
        Double total = 0.;
        if (itens != null && itens.size() > 0) {
            for (ItemDeVenda item : itens) {
                total += item.subTotal();
            }
        }
        return total;
    }
}
